var em = null,
	map = null;
// H5 plus事件处理  第二步
function plusReady_ditu(sort,jwd_s) {
	// 确保DOM解析完成
	if (!em || !window.plus || map) {
		return
	};
	//验证网络及定位
	Detection_Network_and_Location();

	map = new plus.maps.Map("ditu");

	map.getUserLocation(function(state, point) {
		// alert(state)
		// alert(JSON.stringify(point))
		if (0 == state) {
			var pcenter = new plus.maps.Point(point.longitude, point.latitude); // 地图中心点
			if (sort == 1) {
				// var jwd = $(".didian").attr("jwd");
				// alert(jwd)
				var jd = jwd_s.split(',')[0];
				var wd = jwd_s.split(',')[1];
				pcenter = new plus.maps.Point(jd, wd); // 地图中心点
			}
			map.setCenter(pcenter); // 设置地图的中心点和缩放级别
			//显示用户当前位置
			Display_the_current_location(pcenter);
			// alert(JSON.stringify(point))
			//检索附近地名
			Access_to_nearby_locations(pcenter, sort);
		} else {
			alert("定位失败!");
		}
	})
}

function hqqx() {
	if (window.plus) {
		Detection_Network_and_Location();
	} else {
		document.addEventListener("plusready", Detection_Network_and_Location, false);
	}
}

// 打开地图第一步
function OpenMap(sort,jwd_s) {
	em = $(".ditu");
	plusReady_ditu(sort,jwd_s);
}
// 测试
function ce(){
	console.log(1111)
}

function CloseMap() {
	map && (map.close(), map = null);
}
//显示用户当前位置 第四步
function Display_the_current_location(pcenter) {
	map.setZoom(18);
	// map.showUserLocation(true); // 设置是否显示用户的位置
	// alert(JSON.stringify(pcenter))
	map.showZoomControls(true); //显示缩放控件
	map.setCenter(pcenter); // 设置地图的中心点和缩放级别
}

//获取附近相关地点 //第五步
function Access_to_nearby_locations(pcenter, sort) {
	var searchObj = new plus.maps.Search(map);
	//检索完成事件
	searchObj.onPoiSearchComplete = function(state, result) {
		// console.log("onPoiSearchComplete: " + state + " , " + result.currentNumber);
		if (state == 0) {
			if (result.currentNumber <= 0) {
				//没有检索到结果
				// alert("没有检索到结果");
			}
			var num = sort == 1 ? 1 : result.currentNumber;
			for (var i = 0; i < num; i++) {
				var pos = result.getPosition(i);
				// alert(JSON.stringify(pos))
				// var marker = new plus.maps.Marker(pos.point);
				// marker.setLabel(pos.name);
				// map.addOverlay(marker);
				var bg = i == 0 ? "lie_list_item_bg" : "";
				var itemstr="<div address='" + pos.address + "' jd='" + pos.point.longitude + "' wd='" + pos.point.latitude +
				"' class='lie_list_item " +
				bg + "' style='height: 1.2963rem !important;line-height: 1.2963rem !important;border-bottom: 0.018518518518518517rem solid #f1f1f1;padding-left: 0.2778rem;'>" + pos.name + "</div>";
				// alert(itemstr)
				$(".lie_list").append(itemstr);
				if (i == 0) {
					BiaoDian($(".lie_list_item_bg"), sort);
				}
			}
		
			// 点击地点列表
			$(".lie_list_item").click(function() {
				BiaoDian(this, sort);
			})

		} else {
			alert("检索附近地名失败");
		}
	}


	// 在当前位置周围1千米内对关键字“”进行检索
	searchObj.poiSearchNearBy("", pcenter, 1000);
}
var markerObj = null;

// 第六步
function BiaoDian(obj, sort) {
	// console.log(JSON.stringify($(obj)))
	$(".lie_list_item").removeClass("lie_list_item_bg")
	$(obj).addClass("lie_list_item_bg");
	var jd = $(obj).attr("jd");
	var wd = $(obj).attr("wd");
	var name = $(obj).html();
	var address = $(obj).attr("address");
	var pcenter = new plus.maps.Point(jd, wd); // 地图中心点
	
	map.setCenter(pcenter); // 设置地图的中心点和缩放级别

	var marker = new plus.maps.Marker(pcenter);
	marker.setIcon("/static/dt_03.gif");
	marker.setDraggable(true);
	marker.setLabel(name);
	var bubble = new plus.maps.Bubble(address);
	marker.setBubble(bubble);
	// map.clearOverlays();
	// setTimeout(function() {
	// }, 1000);
	map.removeOverlay(markerObj);
	map.addOverlay(marker);
	markerObj = marker;
	marker.onDrag = function(target) {
		$(".lie_list").html("");
		// alert(JSON.stringify(target.getPoint()))
		var pcenter = new plus.maps.Point(target.getPoint().longitude, target.getPoint().latitude); // 地图中心点
		map.setCenter(pcenter); // 设置地图的中心点和缩放级别
		Access_to_nearby_locations(pcenter, sort);
	}
}

//验证是否设置了定位权限  //第三步
function Detection_Network_and_Location() {
	plus.geolocation.getCurrentPosition(function(p) {
		// console.log('Geolocation\nLatitude:' + p.coords.latitude + '\nLongitude:' + p.coords.longitude + '\nAltitude:' + p.coords
		// 	.altitude);
	}, function(e) {
		console.log('Gelocation Error: code - ' + e.code + '; message - ' + e.message);
		// mui.toast("请打开定位权限!");
		plus.nativeUI.alert(
			"请打开定位权限",
			function () {
			  sessionStorage.clear();
			},
			"提示",
			"确定"
		  );
		// alert(e.message)
		switch (e.code) {
			case 22:
				// var btn = ["打开", "取消"];
				// mui.confirm('当前未打开定位权限,是否前往打开APP定位权限？', '温馨提示', btn, function(e) {
				// 	if (e.index == 0) {
				// 		var main = plus.android.runtimeMainActivity();
				// 		var Intent = plus.android.importClass("android.content.Intent");
				// 		var mIntent = new Intent('android.settings.LOCATION_SOURCE_SETTINGS');
				// 		main.startActivity(mIntent);
				// 	}
				// });
				break;
		}
	});
}

function showAddress() {
	var jwd = getUrlParam("jwd");
	map = new plus.maps.Map("ditu");
	var jd = jwd.split(',')[0];
	var wd = jwd.split(',')[1];
	var pcenter = new plus.maps.Point(jd, wd); // 地图中心点
	Access_to_nearby_locations(pcenter, 1);
	map.setCenter(pcenter); // 设置地图的中心点和缩放级别
	map.setZoom(19);
	// map.showUserLocation(true); // 设置是否显示用户的位置
	map.showZoomControls(true); //显示缩放控件
}

export default{
	ce,
	OpenMap,
	hqqx,
	CloseMap,
	showAddress
}
